Hi,
I was trying to follow your example but I kept getting the error message “There are no components in .. \zedgraph.dll that can be placed on the toolbox” when I try to add the graph control in my vs2010 toolbox. I am doing a simple wpf application and have confirmed that I am using the same zedgraph dll version as yours. Can zedgraph really work with vs2010? Any ideas on the issue that I am encountering? Your help will be much appreciated.
estou tentando adaptar o seu código, a uma aplicação minha em VB. mas não consigo.
preciso plotar um valor que recebo via porta serial no eixo x, e ir incrementando o valor em y automaticamente, de modo a formar uma onda senoinal no grafico.. (amplitude eu recebo pela serial)..
Estou utilizando para comunicar com o arduino… recebo um valor que vai de 0-300 pela porta serial… preciso receber esse valor no VB(essa parte está pronta). O que falta, é conseguir plotar esse valor (que varia a cada 10ms) em um gráfico… No caso, o valor recebido, seria a amplitude desse gráfico.. (forma de onda)
O “listPointsOne” que você usa para pegar o valor, que no caso, você gerou usando o laço “for”, não funciona quando tento referenciar a minha variável. O valor que eu recebo vem no formato string, e fica armazenado numa textbox. Ae eu não consigo gerar a onda por que não consigo fazer ela “buscar” os dados no meu textbox.text . Já tentei mudar para double, char.. nada funciona.. Lembrando que o valor q eu recebo, vai de 0~255.
Não consigo fazer o gráfico buscar o valor no Serialport1.readline.. No seu caso, você gerou uma onda randomicamente.. e é exatamente onde não consigo adaptar ao meu código.
05 PointPairList listPointsOne = new PointPairList();
06 PointPairList listPointsTwo = new PointPairList();
15 for (int i = 0; i < 100; i++)
16 {
17 listPointsOne.Add(i, Math.Sin(i));
18 }
19
20 // set lineitem to list of points
21 myCurveOne = myPane.AddCurve(null, listPointsOne, Color.Black, SymbolType.Circle);
Certo, mas onde exatamente está o erro no seu código?
Talvez o erro em ReadLine não tem nada a ver com o plot, cola o pedaço do codigo no pastebin pra eu dar uma analisada 🙂
Você tentou gerar uma onda random só pra ver se consegue plotar alguma coisa?
Por favor, se puder ajudar fico grato, qualquer coisa eu envio o projeto do VS2010 inteiro para você analisar/ajudar. Preciso desse projeto faz um tempo já! E acho que estou chegando perto! Obrigado.
Ola boa noite
Estou a utilizar um exemplo identico ao seu, mas não sei como chamar a delegate no código principal, ou seja, eu estou a utilizar um ZedGrap e queria passa-lo como argumento da delegate e chama-la no código principal, tem ideia de como é que posso fazer isto?
Este é o meu código do lado da classe principal:
static Grafico graf = new Grafico(); (aqui falta qualquer coisa)
E a classe que tenho a delegate é esta:
namespace CommunicateWithArduino
{
delegate void graph(ZedGraphControl zg);
public class Grafico
{
private void graph1(ZedGraphControl zg)
{
if (zg.InvokeRequired)
{
graph ad = new graph(graph1);
zg.Invoke(ad, new object[] { zg });
}
else
{
zg.AxisChange();
zg.Invalidate();
zg.Refresh();
};
}
I am having very less knowledge in .net. I downloaded the Zedgraph.dll from net and added as a reference to my project. but i am not getting zedgraph control in .net framework components (step number 3) Please help me to over come this problem.
Felipe… Do you have an example on how to rotate an object in a graph, say, for example, I want to draw an ellipse and rotate it since it represents the error at certain points. ALso, is there anyway to animate objects traveling trough a couple of points.. Regars.. Victor…
I’m not particularly sure what’s happening, but my ZedGraph from your example isn’t showing up. When I download your example directly, it works perfectly, but if I try to add it to my form in my own project, the graph information does not display. It looks exactly like it does before I compile. A blank graph.
I really appreciate your example, I just wish I could make it work. 😦
I got it to work! I somehow disconnected the form_load function from the actual form loading. Not sure how that happened… but all better! Your example worked great! 😀
Well, that’s kinda hard for me to know as I don’t have your code here. Make sure you have the proper dependencies added and try to make a clean build 🙂
Hi,
I was trying to follow your example but I kept getting the error message “There are no components in .. \zedgraph.dll that can be placed on the toolbox” when I try to add the graph control in my vs2010 toolbox. I am doing a simple wpf application and have confirmed that I am using the same zedgraph dll version as yours. Can zedgraph really work with vs2010? Any ideas on the issue that I am encountering? Your help will be much appreciated.
Thanks and regards,
Hazell
Hello Hazell,
That’s weird, cause I followed that tutorial a couple of weeks ago. Let’me try to help you.
When exactly are you getting this error message?
And Yes, I`m sure zedgraph works swell with vs2010
Try to add zedgraph.dll into debug folder, but tell me what exactly you could do and what exactly you couldn’t do.
I’m glad to help.
Regards, Felipe
hello fpgentil,
where can i download your example?
Regards,
Carlos
Hello Carlos,
it seems wordpress removed my link. But here it is!
http://dl.dropbox.com/u/5986982/ZedGraphPlot.rar
Regards,
Felipe
fpgentil,
estou tentando adaptar o seu código, a uma aplicação minha em VB. mas não consigo.
preciso plotar um valor que recebo via porta serial no eixo x, e ir incrementando o valor em y automaticamente, de modo a formar uma onda senoinal no grafico.. (amplitude eu recebo pela serial)..
poderia me ajudar?
Olá Lucas,
Posso te ajudar sim! Eu não desenvolvo em VB, mas acho que consigo te ajudar. O que você tem até agora?
Att.
Felipe
Estou utilizando para comunicar com o arduino… recebo um valor que vai de 0-300 pela porta serial… preciso receber esse valor no VB(essa parte está pronta). O que falta, é conseguir plotar esse valor (que varia a cada 10ms) em um gráfico… No caso, o valor recebido, seria a amplitude desse gráfico.. (forma de onda)
Entendi.. bom, então os dados vc já tem, né?
Você conseguiu usar o ZedGraph em VB? Eu nunca fiz isso, então não posso te dar ajuda me código, mas pelo que pesquisei na net, é igual em C# mesmo.
Att.
Aí que está, não consegui, nem em VB, nem em C#. Como faço isso?
Bom, eu acho que em VB deve ser bem parecido com C#, mas tenta em C# primeiro..
Mesmo seguindo esse tutorial você não conseguiu? Onde que deu errado?
Att.
O “listPointsOne” que você usa para pegar o valor, que no caso, você gerou usando o laço “for”, não funciona quando tento referenciar a minha variável. O valor que eu recebo vem no formato string, e fica armazenado numa textbox. Ae eu não consigo gerar a onda por que não consigo fazer ela “buscar” os dados no meu textbox.text . Já tentei mudar para double, char.. nada funciona.. Lembrando que o valor q eu recebo, vai de 0~255.
Não consigo fazer o gráfico buscar o valor no Serialport1.readline.. No seu caso, você gerou uma onda randomicamente.. e é exatamente onde não consigo adaptar ao meu código.
05 PointPairList listPointsOne = new PointPairList();
06 PointPairList listPointsTwo = new PointPairList();
15 for (int i = 0; i < 100; i++)
16 {
17 listPointsOne.Add(i, Math.Sin(i));
18 }
19
20 // set lineitem to list of points
21 myCurveOne = myPane.AddCurve(null, listPointsOne, Color.Black, SymbolType.Circle);
Certo, mas onde exatamente está o erro no seu código?
Talvez o erro em ReadLine não tem nada a ver com o plot, cola o pedaço do codigo no pastebin pra eu dar uma analisada 🙂
Você tentou gerar uma onda random só pra ver se consegue plotar alguma coisa?
Att.
Por favor, se puder ajudar fico grato, qualquer coisa eu envio o projeto do VS2010 inteiro para você analisar/ajudar. Preciso desse projeto faz um tempo já! E acho que estou chegando perto! Obrigado.
Sim, o problema está em “adequar” a minha variavel, ao tipo de variavel que o zedgraph reconhece. Sim, se eu gerar random funciona.
Estranho. Se você consegue gerar uma onda random e funciona, o problema está em outra parte do código.
Você está debugando pra ver o que está chegando de dados nessa variável? Cola o método no pastebin pra eu dar uma olhada, se você não se importar 🙂
Att.
Ola boa noite
Estou a utilizar um exemplo identico ao seu, mas não sei como chamar a delegate no código principal, ou seja, eu estou a utilizar um ZedGrap e queria passa-lo como argumento da delegate e chama-la no código principal, tem ideia de como é que posso fazer isto?
Este é o meu código do lado da classe principal:
static Grafico graf = new Grafico(); (aqui falta qualquer coisa)
E a classe que tenho a delegate é esta:
namespace CommunicateWithArduino
{
delegate void graph(ZedGraphControl zg);
public class Grafico
{
private void graph1(ZedGraphControl zg)
{
if (zg.InvokeRequired)
{
graph ad = new graph(graph1);
zg.Invoke(ad, new object[] { zg });
}
else
{
zg.AxisChange();
zg.Invalidate();
zg.Refresh();
};
}
}
}
Obrigado 🙂
Olá Gil,
Bom, eu dei uma pesquisada e eu acredito que a maneira mais fácil de fazer isso é utilizando o método Control.Invoke
Aqui está a documentação dele da msdn: http://msdn.microsoft.com/en-us/library/a1hetckb.aspx
Tem um exemplo da msdn tb que também pode te ajudar aqui: http://msdn.microsoft.com/en-us/library/aa288459(v=vs.71).aspx
Aqui tem um tutorial bem interessante de delegates: http://www.akadia.com/services/dotnet_delegates_and_events.html
São links que eu já utilizei como estudo, se nenhum deles te ajudar, me avise.
Boa sorte.
Regards,
Felipe
Hi fpgentil,
I am having very less knowledge in .net. I downloaded the Zedgraph.dll from net and added as a reference to my project. but i am not getting zedgraph control in .net framework components (step number 3) Please help me to over come this problem.
Hello yasaswi,
Well, have you already tried to browse ZedGraph dll and add it in the toolbox?
Regards,
Felipe
now i am getting zedgraph in toolbox. Thanks for reply
I’m glad I could help.
Regards,
Felipe
Hi Felipe.
I need to know how to put my timer counter in X axis.
ocaccy
Hi Silvio,
How do you want to put your timer into a chart? What are you trying to plot?
I havent done anything like that but I can try to help you.
Regards,
Felipe
Felipe… Do you have an example on how to rotate an object in a graph, say, for example, I want to draw an ellipse and rotate it since it represents the error at certain points. ALso, is there anyway to animate objects traveling trough a couple of points.. Regars.. Victor…
Hello Victor,
About the rotation example, I actually dont have anyone here. But I’d say the most difficult part is taking care with the points of your elipse.
The animation I’m afraid it cant be done using ZedGraph, I’m not 100% sure though.
Cheers,
Felipe
really helping article thank’s
Thanks for the feedback 🙂
great work sir
I’m not particularly sure what’s happening, but my ZedGraph from your example isn’t showing up. When I download your example directly, it works perfectly, but if I try to add it to my form in my own project, the graph information does not display. It looks exactly like it does before I compile. A blank graph.
I really appreciate your example, I just wish I could make it work. 😦
Thanks!
I got it to work! I somehow disconnected the form_load function from the actual form loading. Not sure how that happened… but all better! Your example worked great! 😀
Ah, awesome! haha 😛
Cheers,
Felipe
Hello Jennifer,
Well, that’s kinda hard for me to know as I don’t have your code here. Make sure you have the proper dependencies added and try to make a clean build 🙂
Cheers,
Felipe